package com.thinkgsp.jxc.service;

import java.util.List;

import com.thinkgsp.jxc.model.ProductBatchNo;
import com.thinkgsp.jxc.persistence.ProductBatchNoMapper;

/**
 * 产品批号业务类
 * @author evan
 *
 */
public interface ProductBatchNoService {

	/**
	 * 设置产品批号持久化类，本方法用于测试目的
	 * @param batchNoMapper
	 */
	public void setBatchNoMapper(ProductBatchNoMapper batchNoMapper);
	/**
	 * 根据Id获取产品批号
	 * @param id
	 * @return
	 */
	public ProductBatchNo getBatchNo(Long id);
	
	/**
	 * 根据产品Id与生产批号获取批号对象
	 * @param productId
	 * @param batchNo
	 * @return
	 */
	public ProductBatchNo getBatchNo(Integer productId,String batchNo);
	
	/**
	 * 保存产品批号
	 * @param batchNo
	 */
	public void saveBatchNo(ProductBatchNo batchNo);
	
	/**
	 * 删除产品批号
	 * @param id
	 */
	public void deleteBatchNo(Long id);
	
	/**
	 * 获取某一产品的批号列表
	 * @param productId
	 * @return
	 */
	public List<ProductBatchNo> getBatchNo(Integer productId);
	
	/**
	 * 获取某一产品的空批号
	 * @param productId
	 * @return
	 */
	public ProductBatchNo getNonBatchNo(Integer productId) throws ServiceException;
}
